package com.huida.app.apacheutils.unit01;

import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.ArrayUtils;

import java.util.Arrays;

/**
 * @author wangzhuangzhuang
 * @DESC:
 * @date 2021-12-30 22:31
 */
@Slf4j
public class ArrayUtilsDemo {
	public static void main(String[] args) {
		int[] intArray = {1, 2, 9, 12, 24, 33, 325};
		Integer[] intWrapperArray = {1, 2, 9, 12, 24, 33, 325};
		String[] strArray = {"he", "ll", "0", " ", "wo", "rl", "d"};
		byte[] emptyByteArray = new byte[0];
		String[] emptyStringArray = new String[0];
//		testContains(intArray, strArray);
		testToObjectAndPrimitive(intWrapperArray);
	}

	// 是否包含某一个元素
	static void testContains(int[] intArray, String[] strArray){
		if(ArrayUtils.contains(intArray, 33)){
			System.out.println("intArray包含33元素");
		}
		if(ArrayUtils.contains(strArray,"ll")){
			System.out.println("strArray包含ll元素");
		}
	}

	// ArrayUtils.toObject() 将基本数据类型数组转换为包装数据类型数组
	// ArrayUtils.toPrimitive() 将包装数据类型数组转换为基本数据类型数组
	static void testToObjectAndPrimitive(Integer[] intWrapper){
		System.out.println("包装类型数组： " + ArrayUtils.toString(intWrapper));

		int[] intPrimitiveArray = ArrayUtils.toPrimitive(intWrapper);
		System.out.println("基本数据类型数组： " + ArrayUtils.toString(intPrimitiveArray));

		Integer[] intWrapperArray = ArrayUtils.toObject(intPrimitiveArray);
		System.out.println("int基本类型数组在转换为包装类型数组： " + ArrayUtils.toString(intWrapperArray));
	}

	// 使用 ArrayUtils.isSorted() 判断数组是否有序
	// 使用 ArrayUtils.shuffle() 打乱数组
	static void testIsSortedAndShuffle(int[] intArr, String[] strArr){

	}

}